package com.boilerCloud.service.device;

import java.util.List;



import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONArray;
import com.boilerCloud.dto.HzlqswPage;
import com.boilerCloud.dto.device.DeviceInfo;
import com.boilerCloud.dto.sys.ReqResult;
import com.boilerCloud.dto.device.DeviceChannels;
import com.boilerCloud.dto.device.DeviceData;
@Service
public interface IDeviceService {

	void qryList(DeviceInfo device, HzlqswPage<DeviceInfo> page)throws Exception;

	void edit(DeviceInfo device)throws Exception;

	void delDevice(int id)throws Exception;

	void addDevice(DeviceInfo device)throws Exception;

	DeviceInfo getDeviceInfo(int id)throws Exception;

	/**
	 * @Title: bindDeviceProject
	 * @Description:(一句话阐述): 绑定设备项目操作
	 * @param device    
	 * @author Ran_cc
	 * @date 2018年3月15日 
	 */
	void bindDeviceProject(DeviceInfo device) throws Exception;

	/**
	 * @Title: celbindDeviceProject
	 * @Description:(一句话阐述):
	 * @param device    
	 * @author Ran_cc
	 * @date 2018年3月16日 
	 */
	void celbindDeviceProject(DeviceInfo device)throws Exception;

	Object getDeviceList(int type,DeviceInfo device)throws Exception;

	Object getAlarmRecordList(int id,ReqResult rst)throws Exception;

	Object getCurrentDataList(int id, ReqResult rst)throws Exception;

	Object getHistoryDataList(int id, long channel, String begintime, String endtime, ReqResult rst)throws Exception;

	List<DeviceChannels> qryChannel( int id, ReqResult rst ) throws Exception;
	List<String> qryBoxIds();

	void updateState(int state, String box_id);

	List<DeviceInfo> qrydeviceBoxIds()throws Exception;

	void addWarnInfo(JSONArray array, int id)throws Exception;

	void updateQueryTime(long time, int id)throws Exception;

	Object getCurrAlarmRecordList(int id, ReqResult rst)throws Exception;

	void addDeviceData( DeviceData data );
}
